# -*- coding: utf-8 -*-
from abc import abstractmethod
import random
import string


class Room:

    def __init__(self, id, length, width, height):
        self._id = id
        self._length = length
        self._width = width
        self._height = height
        self._password = None
        self._is_free = True
        self._password = None

    def set_password(self):
        letters = string.ascii_lowercase + string.digits
        self._password = ''.join(random.choice(letters) for i in range(6))
        return self._password

    def is_room_free(self):
        return self._is_free

    def set_room_free(self):
        self._is_free = True

    def set_room_occupied(self):
        self._is_free = False


class CubeRoom(Room):
    def __init__(self, id, length, width, height):
        super().__init__(id, length, width, height)
        self.room_type = "CubeRoom"

    def get_room_type(self):
        return self.room_type

    def get_length(self):
        return self._length

    def get_width(self):
        return self._width

    def get_height(self):
        return self._height


class SphereRoom(Room):
    def __init__(self, id, radius):
        super().__init__(id, None, None, None)
        self.room_type = "SphereRoom"
        self._radius = radius

    def get_room_type(self):
        return self.room_type

    def get_radius(self):
        return self._radius


def main():
    pass

if __name__ == "__main__":
    main()

